import GCJ_CLASS_TYPE = require('./../../common/GCJ_CLASS_TYPE');
import Serializer = require('./Serializer')

export  = ObjLink;

/**
 *
 * @author 
 *
 */
class ObjLink extends Serializer{
    /*
     * 关联的对象id数组，例如：1关联2，且关联3，则 this.arr=[1,2,3]     
     * 
     * */
    public arr =[];
    
	public constructor() {
        super();
        
	}
	
    // 从json对象(注意不是json字符串)中解析
    public fromJson(jsonObj, versionId) { 
        super.fromJson(jsonObj,versionId);

        this.arr.splice(0,this.arr.length);
        if(jsonObj.hasOwnProperty("arr")) {
            this.arr=jsonObj.arr;
        }
    }
    
    // 转成json字符串
    public toJson():string {
        // 去掉父json字符串的头尾
        var superJson = super.toJson();
        superJson = superJson.substr(1,superJson.length-2);
                
        var ret = '{';
        ret +=superJson;

        // arr
        var arr='[';
        if(this.arr && this.arr.length>0) {
            for(var i=0;i<this.arr.length;i++) {
                arr+=this.arr[i];
                arr+=','
            }
            arr=arr.substr(0,arr.length-1);// 去除多余的逗号
        }
        arr+=']';
        ret+=(',"arr":'+arr);
        
                    
        ret+='}';
        return ret;
    }
}//SJG_MARK_END-------------------------
